package com.guo.boot.study.thread;

/**
 * @Auther Heart Guo
 * @Date 2021/12/22-14:15
 */
/*
    进程（Process）：一个进程可以运行多个线程，是系统资源分配的单元
    线程（Thread）：一个进程至少包括一个线程，线程是CPU调度和执行的单元
                    main()称为主线程，为系统的入口
                    gc

                    实现：
                        继承Thread
                            主线程调用run方法，会先执行run方法，再执行main方法，调用start方法，会交叉执行
                            启动线程：子类对象.start()
                            ** 不建议使用，避免OOP单继承局限性
                        实现Runnable接口
                            启动线程：传入目标对象+Thread对象.start()
                            ** 推荐使用：避免单继承局限性，灵活方便，方便同一个对象被多个线程使用
                        实现Callable接口

           线程的五种状态：
                创建状态（new）：Thread t = new Thread();
                就绪状态：当调用start()方法，线程立即进入就绪状态，但不意味着立即调度执行
                运行状态：进入运行状态，线程才真正执行线程体的代码块
                阻塞状态：当调用sleep,wait或者同步锁时，线程进入阻塞状态，就是代码不往下执行，阻塞事件解除后，重新进入就绪状态，等待CPU的调度
                死亡状态：线程进入中断或者结束，一旦进入死亡状态就不能再次启动







*/
public class Threads {

}
